/* axios 的二次封装 */
import axios from 'axios'
import { Toast } from 'vant'

// 基本 URL
const baseURL = process.env.NODE_ENV === 'development' ? 'http://www.xiongmaoyouxuan.com' : '真实接口baseurl'

const service = axios.create({
  baseURL, // 基准的 URL 路径
  timeout: 5000, // 超时时间
})

// 请求拦截   (在请求发出去前做自己额外的动作)
service.interceptors.request.use(config => {
  Toast.loading({
    message: '加载中....',
    // forbidClick: true,
    duration: 0, // 提示栏不关闭 需调用Toast.clear
  })

  return config
})

// 响应拦截  (数据处理)
service.interceptors.response.use(response => {
// 关闭上面的提示
  Toast.clear()

  // console.log("响应拦截:", response)  // 查看是否请求到数据

  if (response.status >= 200 && response.status < 300) {
    const dataRes = response.data
    if (dataRes.code === 200) {
      return dataRes.data
    }
  }
  // 请求异常提示
  const err = new Error('请求出现异常')
  err.error = response // 添加自定义属性 标识具体错误信息
  return Promise.reject(err)
})

// 暴露
export default service
